namespace java com.duowan.realtime.thirft.api

exception BloomFilterException {
  1: string errorCode,
  2: string message,
}

struct BloomFilterGroupQuery {
	1: string group, // 维度组
	2: string partition, // 优先级
	3: list<string>  values // 元素组
	
}

struct DistinctData{
	1: required string distinctKey, // 分组的待去重列
	2: optional map<string,string> ext // 待去重元素 附带列  map<extKey,extValue>
	3: optional bool notExist  // 去重项状态,是否不存在
}

struct DistinctRequest {
	1: required string group, // 维度组
	2: required string partition, // 分区
	3: required list<DistinctData> distinctDatas // 待去重元素组  附带ext
}


service BloomFilterService{ 
	map<string,i32> notContainsCountAndAdd(1:string bloomfilterGroup, 2:list<BloomFilterGroupQuery> bfGroupQuery) throws (1:BloomFilterException e);
	string ping() throws (1:BloomFilterException e);
	
	map<string,list<DistinctData>> notContainsAndMark(1:string bloomfilterGroup, 2:list<DistinctRequest> bfCounterRequest) throws (1:BloomFilterException e);
}